package com.ruoyi.service;

import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.entity.JrFolder;
import com.ruoyi.entity.vo.FolderVO;

import java.util.List;

public interface FolderService {
    int renameFolder(Long folderId, String newName);

    // 逻辑删除文件夹
    int deleteFolder(Long folderId);

    /**
     *  知识库树形   获取当前用户的文件夹树（含权限和密级控制）
     * @param user 当前用户
     * @return 树形结构的文件夹视图对象
     */
    List<FolderVO> getFolderTrees(SysUser user);

    /**
     *  权限树形     获取当前用户的文件夹树（含权限和密级控制）
     * @param user 当前用户
     * @return 树形结构的文件夹视图对象
     */
    List<FolderVO> getFolderTree(SysUser user);

    /**
     * 创建文件夹
     * @param folder 包含父ID、名称、安全等级等参数
     * @return 创建成功的文件夹对象
     */
    JrFolder createFolder(JrFolder folder);
}
